package com.computercourse.api.learning;

import com.computercourse.framework.domain.learning.respones.GetLearningAnswerResult;
import com.computercourse.framework.domain.learning.respones.GetLearningCommentResult;
import com.computercourse.framework.domain.learning.respones.GetLearningNoteResult;
import com.computercourse.framework.domain.learning.respones.GetMediaResult;
import com.computercourse.framework.model.response.Response;
import com.computercourse.framework.model.response.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * @author Feng.Yuan
 * @description
 * @date 2020/1/31 10:13 下午
 * @return
 */
@Api(value = "录播课程学习管理", description = "录播课程学习管理")
public interface CourseLearningControllerApi {

    @ApiOperation("获取课程学习地址")
    GetMediaResult getMedia(String courseId, String teachplanId);


    @ApiOperation(value = "获取该课程所有笔记")
    GetLearningNoteResult getAllNotes(String courseId);

    @ApiOperation(value = "获取该课程所有精选笔记")
    GetLearningNoteResult getAllPerfectNotes(String courseId);

    @ApiOperation(value = "删除该条笔记")
    ResponseResult deleteNote(String courseId, String noteId);

    @ApiOperation(value = "保存笔记")
    ResponseResult saveNote(String courseId, String noteContent);

    @ApiOperation(value = "设为精选笔记")
    ResponseResult saveAsPerfectNote(String courseId, String noteId);

    @ApiOperation(value = "保存回答")
    ResponseResult saveAnswer(String courseId, String answerTitle, String answerContent);

    @ApiOperation(value = "设为精选回答")
    ResponseResult saveAsPerfectAnswer(String courseId, String noteId);

    @ApiOperation(value = "删除该条回答")
    ResponseResult deleteAnswer(String courseId, String answerId);

    @ApiOperation(value = "获取该课程所有回答")
    GetLearningAnswerResult getAllAnswer(String courseId);

    @ApiOperation(value = "获取该课程所有精选回答")
    GetLearningAnswerResult getAllPerfectAnswers(String courseId);

    @ApiOperation(value = "获取该课程所有评论")
    GetLearningCommentResult getAllComment(String courseId);

    @ApiOperation(value = "保存评论")
    ResponseResult saveComment(String courseId, String commentContent, Integer commentCourseGrade);

    @ApiOperation(value = " 取消精品笔记")
    ResponseResult cancelPerfectNote(String courseId,String noteId);

    @ApiOperation(value = " 取消精品回答")
    ResponseResult cancelPerfectAnswer(String courseId,String answerId);


}
